package com.github.ghsea.sso.client.security.permission;

/**
 * @author guhai
 */
public interface PermissionManager {

    /**
     * 根据用户查询用户的角色和权限。
     * 由于用户登录时有JDBC和LDAP两种方式，如果通过JDBC登录，则能拿到用户的id.如果通过LDAP登录，能拿到email。
     * 取权限时，优先根据用户id取，如果用户id为空，则根据email取。如果两个都为空，则抛出异常
     *
     * @return
     */
    RolesAndPermissions getPermissions(String id, String email);

}
